[Coding040] DataStructure - Stack

栈及其相关知识

Ben 2024.04.09

 

More coding records

Get the knowledge flowing and circulating! :)

目录

标题:栈

堆栈stack)又称为栈或堆叠,是计算机科学中的一种抽象资料类型,只允许在有序的线性资料集合的一端(称为堆栈顶端,top)进行加入数据(push)和移除数据(pop)的运算。因而按照后进先出(LIFO, Last In First Out)的原理运作,堆栈常用一维数组或链接串列来实现。常与另一种有序的线性资料集合队列相提并论。

堆栈使用两种基本操作:推入(压栈,push)和弹出(弹栈,pop):

  • 推入:将资料放入堆栈顶端,堆栈顶端移到新放入的资料。

  • 弹出:将堆栈顶端资料移除,堆栈顶端移到移除后的下一笔资料。

堆栈的基本特点

  • 先入后出,后入先出。

  • 除头尾节点之外,每个元素有一个前驱,一个后继。

关于栈的出栈顺序

image-20240409111326507

卡特兰数

image-20240409111601291

案例

image-20240409111728691

Java中的栈操作

image-20240409120550132

Java知识积累

声明Stack:Stack<Character> stack = new Stack();

字符串转字符数组:char[] strArray = s.toCharArray();